Interazione tra moduli e PHP
L'interazione tra un modulo, scritto in
HTML, ed il PHP consiste nel recupero e la manipolazione dei valori immessi
nello stesso modulo.
Per avvenire ciò il modulo deve contenere obbligatoriamente la clausola METHOD,
contenente il metodo con cui vengono inviati i dati (GET o POST), la clausola
ACTION che contiene il nome dello script a cui inviare i dati una volta immessi
nel modulo ed infine il pulsante di invio che avvia l'operazione di "submit",
cioè di esecuzione dello script, e quindi il recupero e la manipolazione sopra
accennata.
Ovviamente un esempio pratico può chiarire meglio di tante parole scritte la
semplicità di funzionamento di questa interazione.
Per prima cosa creiamo l'interfaccia utente in HTML con il modulo che conterrà i
dati da recuperare:
<html><head><title>Modulo di calcolo</title></head>
<body>
<form method="post" action="calcolo.php"><p>
Inserisci il primo valore: <input type="text" name="x1" size="10"><p>
Inserisci il secondo valore: <input type="text" name="x2" size="10"><p>
Scegli l'operazione da effettuare:<br>
<input type="radio" name="opz" value="add"> Addizione<br>
<input type="radio" name="opz" value="sott"> Sottrazione<br>
<input type="radio" name="opz" value="mol"> Moltiplicazione<br>
<input type="radio" name="opz" value="div"> Divisione<p>
<input type="submit" name="invio" value="Esegui">
</form>
</body>
</html>
Salvate il file con il nome di
modulo.html nella directory del PHP, cioè in htdocs, quindi avviate
il browser e digitate nella barra degli indirizzi
http://localhost/modulo.html.
A questo punto se il programma è stato scritto nella maniera corretta dovrebbe
apparire il modulo come da figura sotto.
Adesso la vostra attenzione si deve
spostare sugli attributi name= di tutti i moduli, tranne il pulsante di
invio. Essi hanno valore x1 per il modulo del primo valore, x2 per
il modulo del secondo valore e opz per quanto riguarda l'unica
scelta del modulo delle operazioni (si ricorda che il modulo di tipo radio
permette una sola scelta tra quelle indicate) e rappresentano i nomi delle
variabili che vengono recuperati dallo script calcolo.php indicato
nell'attributo ACTION del modulo.
Adesso creiamo il nostro file PHP per la manipolazione dei dati inseriti nei
moduli:
<?
if (($x1 == "") || ($x2 == "") || ($opz == "")
{
header("Location: http://localhost/modulo.html");
exit;
}
if ($opz == "add")
{ $ris = $x1 + $x2; }
if ($opz == "sott")
{ $ris = $x1 - $x2; }
if ($opz == "mol")
{ $ris = $x1 * $x2; }
if ($opz == "div")
{ $ris = $x1 / $x2; }
?>
<html><head><title>Risultato del calcolo</title></head>
<body>
<p>Il risultato del calcolo è <? echo "$ris"; ?>
</body>
</html>
Salvate il file, naturalmente con il nome
di
calcolo.php, nella directory
htdocs e mandate di nuovo in esecuzione il modulo come fatto in precedenza,
quindi inserite dei valori interi (o decimali, a scelta vostra), scegliete
l'operazione da effettuare e premete il tasto "Esegui".
Se tutto, naturalmente, è stato scritto in maniera corretta vedrete apparire una
nuova pagina con il risultato dell'operazione prescelta.
Adesso è doverosa una spiegazione di quello che abbiamo scritto nello script
calcolo.php:
Innanzitutto la parte iniziale dello script non è altro che un semplice
controllo che tutti i dati vengano immessi, in caso contrario, cioè se non si
immetti uno dei valori o non si sceglie l'operazione, lo script non fa altro che
ricaricare il modulo azzerando i valori fino a quel momento immessi.
Le altre operazioni non sono altro che una serie di cicli di controllo che
eseguono l'operazione scelta dall'utente.
Alla fine di questi controlli, e una volta chiusa l'intera istruzione in PHP,
non facciamo altro che aggiungere il codice HTML che ci permette di visualizzare
il risultato in output. Naturalmente questa ultima fase è pienamente
personalizzabile con tag per la formattazione che già conosciamo.